package com.liuugoqing.creator.factory.before;

/**
 * 咖啡店，可以点咖啡，通过咖啡店，获得具体的产品
 *
 * @Author : liugq
 * @Date : 2022/6/30 11:10
 * @See : 参考类
 * @Since： JDK1.8
 * @Version : 1.0
 */
public class CoffeeStore {

    /**
     * 点咖啡，遵循依赖倒转原则，返回抽象，不返回具体实现
     * 这里违背了开闭原则，如果要增加咖啡的话，一定要进行代码的修改
     * @param type 咖啡类型
     * @return com.liuugoqing.creator.factory.before.Coffee
     * @author liugq
     * @date 2022/6/30 11:11
     */
    public Coffee orderCoffee(String type) {
        //获取咖啡
        Coffee coffee = null;
        if ("american".equals(type))
            coffee = new AmericanCoffee();
        else if ("latte".equals(type))
            coffee = new LatteCoffee();
        else
            throw new RuntimeException("没有这种咖啡");
        //加配料
        coffee.addMilk();
        coffee.addSugar();
        return coffee;
    }
}
